package com.jx.dao;

import com.jx.entity.Student;
import com.jx.mapper.StudentMapper;
import com.jx.util.MybatisUtil;
import com.jx.util.PageResult;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.ibatis.session.SqlSession;

import java.io.IOException;
import java.util.List;

/**
 * 类名：
 * 作者：WF
 * 功能：
 */
public class StudentDao {

    // 1. 查询所有学生
    public List<Student> findAll() throws IOException {
        try (SqlSession session = MybatisUtil.getSqlSession(true)) {
            StudentMapper mapper = session.getMapper(StudentMapper.class);
            return mapper.findAll();
        }
    }
    // 2. 分页查询
    public PageResult<Student> findByPage(int page, int pageSize) throws IOException {
        // 2.1 开始分页
        PageHelper.startPage(page,pageSize);
        // 2.2 查询得到所有学生信息
        List<Student> students = findAll();
        // 2.3 将查询结果转换为Page<Student>对象
        Page< Student> pageStudents = (Page<Student>) students;
        // 2.4 最后返回构造的PageResult对象
        return new PageResult<>(pageStudents.getTotal(),pageStudents.getResult());

    }
}